home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / Asm / AB3DIIsrc / source_4000 / pauseopts < prev    next >
Encoding:
Text File  |  1996-06-20  |  5.6 KB  |  388 lines

  1.  
  2. ; Options:
  3. ; FAST buffer on/off
  4. ; Floors Gouraud/Textured/Plain
  5. ;
  6. ; FIRST HALVE SCREEN BRIGHTNESS
  7.  
  8. ; move.l frompt,pausept
  9. ; move.l olddrawpt,d3
  10. ; add.l #10,d3
  11. ; move.l d3,pbuffpt
  12.  
  13. ; bsr DRAWPAUSESCRN
  14.  
  15. ; move.l drawpt,d0
  16. ; move.l olddrawpt,drawpt
  17. ; move.l d0,olddrawpt
  18. ; move.l d0,$dff084    
  19. ; move.l drawpt,a3
  20. ; move.l COPSCRNBUFF,a3
  21. ; adda.w #10,a3
  22. ; move.l a3,frompt
  23. ; add.l #104*4*40,a3
  24. ; move.l a3,midpt
  25.  
  26. ;waitfortop:
  27. ; btst.b #0,intreqrl(a6)
  28. ; beq waitfortop
  29. ; move.w #$1,intreq(a6)
  30.  
  31.  move.l #PAUSETEXT,SCROLLPOINTER
  32.  move.l #ENDPAUSETEXT,ENDSCROLL
  33.  move.w #0,SCROLLXPOS
  34.  move.w #40,SCROLLTIMER
  35.  
  36.  move.w #40,d6
  37. .waitpause:
  38.  jsr NARRATOR
  39.  dbra d6,.waitpause
  40.  
  41. .waitpress
  42.  
  43. ; bsr CHANGEPOPTS
  44.  
  45.  cmp.b #'s',mors
  46.  beq.s .otherk
  47.  tst.b PLR1JOY
  48.  beq.s .NOJOY
  49.  jsr _ReadJoy1
  50.  bra .thisk
  51. .otherk:
  52.  tst.b PLR2JOY
  53.  beq.s .NOJOY
  54.   jsr _ReadJoy2
  55. .thisk:
  56. .NOJOY:
  57.  tst.b $19(a5)
  58.  bne.s .unp
  59.  btst #7,$bfe001
  60.  bne.s .waitpress
  61. .unp:
  62.  
  63. .wr2:
  64.  
  65.  
  66.  cmp.b #'s',mors
  67.  beq.s .otherk2
  68.  tst.b PLR1JOY
  69.  beq.s .NOJOY2
  70.  jsr _ReadJoy1
  71.  bra .thisk2
  72. .otherk2:
  73.  tst.b PLR2JOY
  74.  beq.s .NOJOY2
  75.   jsr _ReadJoy2
  76. .thisk2:
  77. .NOJOY2:
  78.  
  79.  tst.b $19(a5)
  80.  bne.s .wr2
  81.  btst #7,$bfe001
  82.  beq.s .wr2
  83.  
  84.  move.l #BLANKSCROLL,SCROLLPOINTER
  85.  move.l #BLANKSCROLL+80,ENDSCROLL
  86.  move.w #0,SCROLLXPOS
  87.  move.w #40,SCROLLTIMER
  88.  
  89.  move.w #40,d6
  90. .waitpause2:
  91.  jsr NARRATOR
  92.  dbra d6,.waitpause2
  93.  
  94.  rts
  95.  
  96.  
  97. PAUSETEXT:
  98. ;      12345678901234567890123456789012345678901234567890123456789012345678901234567890
  99.  dc.b '                                  * PAUSED *                                    '
  100. ENDPAUSETEXT:
  101.  
  102. CHECKUPDOWN
  103.  btst #1,$dff00c
  104.  sne d0
  105.  btst #1,$dff00d
  106.  sne d1
  107.  btst #0,$dff00c
  108.  sne d2
  109.  btst #0,$dff00d
  110.  sne d3
  111.  eor.b d0,d2
  112.  eor.b d1,d3
  113.  
  114.  cmp.b #'s',mors
  115.  beq.s .slavechk
  116.  tst.b PLR1JOY
  117.  bne.s .nofing
  118.  bra.s .maschk
  119. .slavechk:
  120.  tst.b PLR2JOY
  121.  bne.s .nofing
  122.  
  123. .maschk:
  124.  
  125.  moveq #0,d6
  126.  move.l #KeyMap,a5
  127.  move.b forward_key,d6
  128.  tst.b (a5,d6.w)
  129.  sne d0
  130.  or.b d0,d2
  131.  move.b backward_key,d6
  132.  tst.b (a5,d6.w)
  133.  sne d1
  134.  or.b d1,d3
  135. .nofing:
  136.  
  137.  rts
  138.  
  139. CHANGEPOPTS:
  140.  
  141.  bsr CHECKUPDOWN
  142.  
  143.  
  144.  tst.b d3
  145.  beq.s nobotchange
  146.  
  147.  move.w BOTPOPT,d0
  148.  addq #1,d0
  149.  and.w #3,d0
  150.  move.w d0,BOTPOPT
  151.  clr.b ANYFLOOR
  152.  clr.b GOURSEL
  153.  st CLRNOFLOOR
  154.  move.l #SimpleFloorLine,THEFLOORLINE
  155.  cmp.w #2,d0
  156.  bgt.s .nofloor
  157.  beq.s .plainfloor
  158.  tst.w d0
  159.  bgt.s .textureonly
  160.  st GOURSEL
  161. .textureonly
  162.  move.l #FloorLine,THEFLOORLINE
  163. .plainfloor
  164.  st ANYFLOOR
  165.  clr.b CLRNOFLOOR
  166. .nofloor:
  167.  
  168.  muls #12,d0
  169.  add.l #FLOOROPTS,d0
  170.  move.l d0,a0
  171.  move.l #FLOOROPTLINE,a1
  172.  bsr PUTINPLINE
  173.  
  174.  bsr DRAWPAUSESCRN
  175.  
  176. billythe
  177.  bsr CHECKUPDOWN
  178.  tst.b d3
  179.  bne.s billythe
  180.  
  181. nobotchange:
  182.  
  183.  tst.b d2
  184.  beq notopchange
  185.  
  186.  muls #12,d0
  187.  add.l #SOUNDOPTS,d0
  188.  move.l d0,a0
  189.  move.l #SOUNDOPTLINE,a1
  190.  bsr PUTINPLINE
  191.  
  192.  bsr DRAWPAUSESCRN
  193.  
  194. billythetop
  195.  bsr CHECKUPDOWN
  196.  tst.b d2
  197.  bne.s billythetop
  198.  
  199.  
  200. notopchange
  201.  
  202.  rts
  203.  
  204.  
  205. THEFLOORLINE: dc.l FloorLine
  206. USECOPBUFFER: dc.w 0
  207. TOPPOPT: dc.w 0
  208. BOTPOPT: dc.w 0
  209. ANYFLOOR: dc.w 0
  210.  
  211. PUTINPLINE:
  212.  moveq #11,d7
  213. .pppp
  214.  move.b (a0)+,(a1)+
  215.  dbra d7,.pppp
  216.  rts
  217.  
  218. pbuffpt: dc.l 0
  219. pausept: dc.l 0
  220.  
  221. DRAWPAUSESCRN:
  222.  move.l #PAUSEFONT,a0
  223.  move.l #PAUSETXT,a1
  224.  move.l pausept,a2
  225.  move.l pbuffpt,a3
  226.  bsr DRAWPAUSEBLOCK
  227.  add.w #4,a2
  228.  add.w #4,a3
  229.  bsr DRAWPAUSEBLOCK
  230.  add.w #4,a2
  231.  add.w #4,a3
  232.  bsr DRAWPAUSEBLOCK
  233.  rts
  234.  
  235. DRAWPAUSEBLOCK:
  236.  move.w #3,d0
  237. .across:
  238.  moveq #0,d1
  239.  moveq #0,d2
  240.  moveq #9,d3
  241.  moveq #0,d5
  242. .down:
  243.  moveq #0,d4
  244.  move.b (a1,d2.w),d4
  245.  add.w #12,d2
  246.  sub.b #'A',d4
  247.  bge .itsalet
  248.  
  249.  moveq #7,d6
  250. .dospc:
  251.  move.w (a3,d5.l),d1
  252.  and.w #$eee,d1
  253.  lsr.w #1,d1
  254.  move.w d1,(a2,d5.l)
  255.  move.w 4(a3,d5.l),d1
  256.  and.w #$eee,d1
  257.  lsr.w #1,d1
  258.  move.w d1,4(a2,d5.l)
  259.  move.w 8(a3,d5.l),d1
  260.  and.w #$eee,d1
  261.  lsr.w #1,d1
  262.  move.w d1,8(a2,d5.l)
  263.  move.w 12(a3,d5.l),d1
  264.  and.w #$eee,d1
  265.  lsr.w #1,d1
  266.  move.w d1,12(a2,d5.l)
  267.  move.w 16(a3,d5.l),d1
  268.  and.w #$eee,d1
  269.  lsr.w #1,d1
  270.  move.w d1,16(a2,d5.l)
  271.  move.w 20(a3,d5.l),d1
  272.  and.w #$eee,d1
  273.  lsr.w #1,d1
  274.  move.w d1,20(a2,d5.l)
  275.  move.w 24(a3,d5.l),d1
  276.  and.w #$eee,d1
  277.  lsr.w #1,d1
  278.  move.w d1,24(a2,d5.l)
  279.  move.w 28(a3,d5.l),d1
  280.  and.w #$eee,d1
  281.  lsr.w #1,d1
  282.  move.w d1,28(a2,d5.l)
  283.  add.l #104*4,d5
  284.  dbra d6,.dospc
  285.  bra .nolet
  286.  
  287. .itsalet:
  288.  asl.w #7,d4
  289.  lea (a0,d4.w),a5
  290.  moveq #7,d6
  291. .dolet: 
  292.  move.w (a5)+,d1
  293.  bne.s .okpix1
  294.  move.w (a3,d5.l),d1
  295.  and.w #$eee,d1
  296.  lsr.w #1,d1
  297. .okpix1:
  298.  move.w d1,(a2,d5.l)
  299.  move.w (a5)+,d1
  300.  bne.s .okpix2
  301.  move.w 4(a3,d5.l),d1
  302.  and.w #$eee,d1
  303.  lsr.w #1,d1
  304. .okpix2:
  305.  move.w d1,4(a2,d5.l)
  306.  move.w (a5)+,d1
  307.  bne.s .okpix3
  308.  move.w 8(a3,d5.l),d1
  309.  and.w #$eee,d1
  310.  lsr.w #1,d1
  311. .okpix3:
  312.  move.w d1,8(a2,d5.l)
  313.  move.w (a5)+,d1
  314.  bne.s .okpix4
  315.  move.w 12(a3,d5.l),d1
  316.  and.w #$eee,d1
  317.  lsr.w #1,d1
  318. .okpix4:
  319.  move.w d1,12(a2,d5.l)
  320.  move.w (a5)+,d1
  321.  bne.s .okpix5
  322.  move.w 16(a3,d5.l),d1
  323.  and.w #$eee,d1
  324.  lsr.w #1,d1
  325. .okpix5:
  326.  move.w d1,16(a2,d5.l)
  327.  move.w (a5)+,d1
  328.  bne.s .okpix6
  329.  move.w 20(a3,d5.l),d1
  330.  and.w #$eee,d1
  331.  lsr.w #1,d1
  332. .okpix6:
  333.  move.w d1,20(a2,d5.l)
  334.  move.w (a5)+,d1
  335.  bne.s .okpix7
  336.  move.w 24(a3,d5.l),d1
  337.  and.w #$eee,d1
  338.  lsr.w #1,d1
  339. .okpix7:
  340.  move.w d1,24(a2,d5.l)
  341.  move.w (a5)+,d1
  342.  bne.s .okpix8
  343.  move.w 28(a3,d5.l),d1
  344.  and.w #$eee,d1
  345.  lsr.w #1,d1
  346. .okpix8:
  347.  move.w d1,28(a2,d5.l)
  348.  add.l #104*4,d5
  349.  dbra d6,.dolet
  350.  
  351. .nolet:
  352.  dbra d3,.down
  353.  add.w #4*8,a3
  354.  add.w #4*8,a2
  355.  addq #1,a1
  356.  dbra d0,.across 
  357.  
  358.  rts
  359.  
  360. PAUSETXT:
  361. ;      012345678901
  362.  dc.b '            '    0
  363.  dc.b '            '    1
  364.  dc.b 'SFX  QUALITY'    2
  365. SOUNDOPTLINE:
  366.  dc.b '            '    3
  367.  dc.b '            '    4
  368.  dc.b 'FLOOR DETAIL'    5
  369. FLOOROPTLINE:
  370.  dc.b '  GOURAUD   '    6
  371.  dc.b '            '    7
  372.  dc.b '            '    8
  373.  dc.b '            '    9
  374.  
  375. SOUNDOPTS:
  376.  dc.b 'FOUR CH MONO'
  377.  dc.b ' FOUR CH ST '
  378.  dc.b 'EIGHT C MONO'
  379.  dc.b ' EIGHT C ST '
  380.  
  381. FLOOROPTS:
  382.  dc.b '  GOURAUD   '
  383.  dc.b '  TEXTURED  '
  384.  dc.b 'PLAIN SHADED'
  385.  dc.b '    NONE    '
  386.  
  387. PAUSEFONT:
  388.  incbin "ab3:includes/PAUSEFONT"